#include<iostream>
#include<memory>
#include"TcpServer.hpp"
#include"CommandExcute.hpp"

using namespace std;

void usage(string proc)
{
    cout << "Usage:\n\t" << proc << " local_port\n"
         << endl;
}
int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        usage(argv[0]);
        exit(1);
    }
    uint16_t port = stoi(argv[1]);
    CommandExcute cmd("./safe.txt");
    func_t cmdcute=bind(&CommandExcute::Excute,&cmd,placeholders::_1);
    unique_ptr<TcpServer> tcsv=make_unique<TcpServer>(port,cmdcute);
    tcsv->InitServer();
    tcsv->Loop();
    return 0;
}